package com.perfma.xtest.tool;

import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;

import java.util.Calendar;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * @author: junhui.si
 * @date: 2021-01-04 11:04
 **/
public class RetainAllDemo {
    public static void main(String[] args) {
//        Set<Integer> s1 = Sets.newHashSet(1, 2, 3);
//        Set<Integer> s2 = Sets.newHashSet(11, 21, 31);
//        s2.retainAll(s1);
//        System.out.println(s2);

//        List<MachineVo> machineVoList = Lists.newArrayList(new MachineVo("ON_LINE"),new MachineVo("OFF_LINE"),new MachineVo("OFF_LINE"),new MachineVo("OFF_LINE"),new MachineVo("ON_LINE"));
//        // 按状态归类排序
//        machineVoList = machineVoList.stream().sorted(Comparator.comparing(MachineVo::getState).reversed()).collect(Collectors.toList());
//        machineVoList.forEach(m->{
//            System.out.println(m.getState());
//        });
//        String errMsg = String.format("您指定的在线压力机总数（%s台），少于根据场景总并发数（%s）推荐的压力机数量（%s台），请调整并发大小或联系管理员修改压力机并发配置数", 1, 2, 3);
//        System.out.println(errMsg);
//        String s = "<p><strong>这里换</strong>行2恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机恨不得粉红色的减肥不飞机</p><p>哈哈哈哈<u>哈</u></p><p>啦啦啦啦啦</p>";
//        s = s.replace("</p>", "\n");
//
//        System.out.println(s);
//        System.out.println(delHtmlTags(s));

        // 结束时间=结束日期23:59:59
        Calendar endCalendar = Calendar.getInstance();
        endCalendar.setTime(endCalendar.getTime());
        endCalendar.set(Calendar.HOUR_OF_DAY,23);
        endCalendar.set(Calendar.MINUTE,59);
        endCalendar.set(Calendar.SECOND,59);
        System.out.println(endCalendar.getTime());

        // 开始时间=开始日期00:00:00
        Calendar startCalendar = Calendar.getInstance();
        startCalendar.setTime(startCalendar.getTime());
        startCalendar.set(Calendar.HOUR_OF_DAY,0);
        startCalendar.set(Calendar.MINUTE,0);
        endCalendar.set(Calendar.SECOND,0);
        System.out.println(startCalendar.getTime());
    }

    public static String delHtmlTags(String htmlStr) {
        //定义script的正则表达式，去除js可以防止注入
        String scriptRegex = "<script[^>]*?>[\\s\\S]*?<\\/script>";
        //定义style的正则表达式，去除style样式，防止css代码过多时只截取到css样式代码
        String styleRegex = "<style[^>]*?>[\\s\\S]*?<\\/style>";
        //定义HTML标签的正则表达式，去除标签，只提取文字内容
        String htmlRegex = "<[^>]+>";
        //定义空格,回车,换行符,制表符
        String spaceRegex = "\\s*|\t";

        // 过滤script标签
        htmlStr = htmlStr.replaceAll(scriptRegex, "");
        // 过滤style标签
        htmlStr = htmlStr.replaceAll(styleRegex, "");
        // 过滤html标签
        htmlStr = htmlStr.replaceAll(htmlRegex, "");
        // 过滤空格等
//        htmlStr = htmlStr.replaceAll(spaceRegex, "");
        return htmlStr.trim(); // 返回文本字符串
    }
}
